﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HrEFCore.Models
{
	//录用申请
	public class ERHiredApplication
	{
		[Key]
		[DisplayName("编号")]
		[Required(ErrorMessage = "编号不能为空")]
		public short ResId { get; set; }//主键
		[DisplayName("姓名")]
		[Required(ErrorMessage = "姓名不能为空")]
		public string HumanName { get; set; }//姓名
		[DisplayName("招聘类型")]
		[Required(ErrorMessage = "招聘类型不能为空")]
		public string EngageType { get; set; }//招聘类型
		[DisplayName("地址")]
		[Required(ErrorMessage = "地址不能为空")]
		public string HumanAddress { get; set; }//地址
		[DisplayName("邮编")]
		[Required(ErrorMessage = "邮编不能为空")]
		public string HumanPostcode { get; set; }//邮编
		[DisplayName("职位分类编号")]
		[Required(ErrorMessage = "职位分类编号不能为空")]
		public string HumanMajorKindId { get; set; }//职位分类编号
		[DisplayName("职位分类名称")]
		[Required(ErrorMessage = "职位分类名称不能为空")]
		public string HumanMajorKindName { get; set; }//职位分类名称
		[DisplayName("职位编号")]
		[Required(ErrorMessage = "职位编号不能为空")]
		public string HumanMajorId { get; set; }//职位编号
		[DisplayName("职位名称")]
		[Required(ErrorMessage = "职位名称不能为空")]
		public string HunmaMajorName { get; set; }//职位名称
		[DisplayName("电话号码")]
		[Required(ErrorMessage = "电话号码不能为空")]
		public string HumanTelephone { get; set; }//电话号码
		[DisplayName("家庭电话")]
		[Required(ErrorMessage = "家庭电话不能为空")]
		public string HumanHomephone { get; set; }//家庭电话
		[DisplayName("手机")]
		[Required(ErrorMessage = "手机不能为空")]
		public string HumanMobilephone { get; set; }//手机
		[DisplayName("邮箱")]
		[Required(ErrorMessage = "邮箱不能为空")]
		public string HumanEmail { get; set; }//邮箱
		[DisplayName("兴趣爱好")]
		[Required(ErrorMessage = "兴趣爱好不能为空")]
		public string HumanHobby { get; set; }//兴趣爱好
		[DisplayName("特长")]
		[Required(ErrorMessage = "特长不能为空")]
		public string HumanSpeciality { get; set; }//特长
		[DisplayName("性别")]
		[Required(ErrorMessage = "性别不能为空")]
		public char HumanSex { get; set; }//性别
		[DisplayName("宗教信仰")]
		[Required(ErrorMessage = "宗教信仰不能为空")]
		public string HumanReligion { get; set; }//宗教信仰
		[DisplayName("政治面貌")]
		[Required(ErrorMessage = "政治面貌不能为空")]
		public string HumanParty { get; set; }//政治面貌
		[DisplayName("国籍")]
		[Required(ErrorMessage = "国籍不能为空")]
		public string HumanNationality { get; set; }//国籍
		[DisplayName("民族")]
		[Required(ErrorMessage = "民族不能为空")]
		public string HumanRace { get; set; }//民族
		[DisplayName("生日")]
		[Required(ErrorMessage = "生日不能为空")]
		public DateTime HumanBirthday { get; set; }//生日
		[DisplayName("年龄")]
		[Required(ErrorMessage = "年龄不能为空")]
		public short HumanAge { get; set; }//年龄
		[DisplayName("教育程度")]
		[Required(ErrorMessage = "教育程度不能为空")]
		public string HumanEducatedDegree { get; set; }//教育程度
		[DisplayName("教育年限")]
		[Required(ErrorMessage = "教育年限不能为空")]
		public short HumanEducatedYears { get; set; }//教育年限
		[DisplayName("专业")]
		[Required(ErrorMessage = "专业不能为空")]
		public string HumanEducatedMajor { get; set; }//专业
		[DisplayName("毕业院校")]
		[Required(ErrorMessage = "毕业院校不能为空")]
		public string HumanCollege { get; set; }//毕业院校
		[DisplayName("身份证号")]
		[Required(ErrorMessage = "身份证号不能为空")]
		public string HumanIdcard { get; set; }//身份证号
		[DisplayName("出生地")]
		[Required(ErrorMessage = "出生地不能为空")]
		public string HumanBirthplace { get; set; }//出生地
		[DisplayName("薪酬标准")]
		[Required(ErrorMessage = "薪酬标准不能为空")]
		//Decimal 用于处理需要精确计算和显示小数位数的场景
		public decimal? DemandSalaryStandard { get; set; }//薪酬标准
		[DisplayName("个人履历")]
		[Required(ErrorMessage = "个人履历不能为空")]
		public string? HumanHistoryRecords { get; set; }//个人履历
		[DisplayName("备注")]
		[Required(ErrorMessage = "备注不能为空")]
		public string? Remark { get; set; }//备注
		[DisplayName("推荐意见")]
		[Required(ErrorMessage = "推荐意见不能为空")]
		public string? Recomandation { get; set; }//推荐意见
		[DisplayName("登记时间")]
		[Required(ErrorMessage = "登记时间不能为空")]
		public DateTime RegistTime { get; set; }//登记时间
		[DisplayName("复核人姓名")]
		[Required(ErrorMessage = "复核人姓名不能为空")]
		public string? Checker { get; set; }//复核人姓名
		[DisplayName("复核时间")]
		[Required(ErrorMessage = "复核时间不能为空")]
		public DateTime? CheckTime { get; set; }//复核时间
		[DisplayName("面试次数")]
		[Required(ErrorMessage = "面试次数不能为空")]
		public short InterviewAmount { get; set; }//面试次数
		[DisplayName("登记人")]
		[Required(ErrorMessage = "登记人不能为空")]
		public string? Register { get; set; }//登记人


		[DisplayName("形象等级")]
		[Required(ErrorMessage = "形象等级不能为空")]
		public string ImageDegree { get; set; }//形象等级
		[DisplayName("口才等级")]
		[Required(ErrorMessage = "口才等级不能为空")]
		public string NativeLanguageDegree { get; set; }//口才等级
		[DisplayName("外语水平等级")]
		[Required(ErrorMessage = "外语水平等级不能为空")]
		public string ForeignLanguageDegree { get; set; }//外语水平等级
		[DisplayName("应变能力")]
		[Required(ErrorMessage = "应变能力不能为空")]
		public string ResponseSpeedDegree { get; set; }//应变能力
		[DisplayName("EQ等级")]
		[Required(ErrorMessage = "EQ等级不能为空")]
		public string EQDegree { get; set; }//EQ等级
		[DisplayName("IQ_等级")]
		[Required(ErrorMessage = "IQ_等级不能为空")]
		public string IQDegree { get; set; }//IQ_等级
		[DisplayName("综合素质")]
		[Required(ErrorMessage = "综合素质不能为空")]
		public string MultiQualityDegree { get; set; }//综合素质
		[DisplayName("面试人")]
		[Required(ErrorMessage = "面试人不能为空")]
		public string EIRegister { get; set; }//面试人
		[DisplayName("筛选人")]
		[Required(ErrorMessage = "筛选人不能为空")]
		public string EIChecker { get; set; }//筛选人
		[DisplayName("面试时间")]
		[Required(ErrorMessage = "面试时间不能为空")]
		public DateTime RegisteTime { get; set; }//面试时间
		[DisplayName("筛选时间")]
		[Required(ErrorMessage = "筛选时间不能为空")]
		public DateTime EICheckTime { get; set; }//筛选时间
		[DisplayName("照片")]
		[Required(ErrorMessage = "照片不能为空")]
		public string? HumanPicture { get; set; }//照片
	}
}
